package cn.etynit.service;

import cn.etynit.domain.Activity;
import cn.etynit.domain.Inform;
import cn.etynit.domain.User;
import cn.etynit.dto.AccountLoginDto;
import cn.etynit.dto.PayDto;
import cn.etynit.dto.RechargeDto;
import cn.etynit.dto.VisitorDto;
import cn.etynit.result.JsonResult;
import com.baomidou.mybatisplus.service.IService;

import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author etyn
 * @since 2022-12-08
 */
public interface IUserService extends IService<User> {

    /**
     * 添加业主
     * @param user
     * @return
     */
    JsonResult addingAnOwner(User user);


    /**
     * 费用充值
     * @param rechargeDto
     * @return
     */
    JsonResult ChargeTopUp(RechargeDto rechargeDto,String token);

    /**
     * 缴费
     * @param payDto
     * @return
     */
    JsonResult Pay(PayDto payDto,String token);

    /**
     * 根据业主id获取有效活动
     * @param token
     * @return
     */
    List<Activity> getEventNotification(String token);

    /**
     * 访客
     * @param visitorDto
     * @return
     */
    JsonResult visitor(VisitorDto visitorDto);

    /**
     * 访客离开
     * @param name
     * @param phone
     * @return
     */
    JsonResult visitorsLeave(String name, String phone);

    /**
     * 业主登录
     * @param accountLoginDto
     * @return
     */
    User accountLogin(AccountLoginDto accountLoginDto);

    /**
     * 查询有效通知
     * @param token
     * @return
     */
    List<Inform> viewNotifications(String token);
}
